Systems and methods for using spatial and temporal analysis to associate data sources with mobile devices

ABSTRACT

Various embodiments of the present technology generally relate to data delivery. More specifically, some embodiments of the present technology relate to systems and methods for using spatial and temporal analysis to associate data sources with mobile devices. The delivery of data to support a wide variety of services for and about mobile devices that are based on data stored in corporate, commercial, and government databases which is not currently linked to individual mobile devices. Some embodiments allow advertisers to better target their ads to relevant target audience with greater accuracy.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/468,905, filed Mar. 24, 2017, which is a continuation of U.S.application Ser. No. 15/046,394, filed Feb. 17, 2016, now U.S. Pat. No.9,654,919, which is a continuation of U.S. application Ser. No.14/731,281, filed Jun. 4, 2015, now U.S. Pat. No. 9,439,033, which is acontinuation of U.S. application Ser. No. 14/509,390, filed Oct. 8,2014, now U.S. Pat. No. 9,087,346, which claims priority to U.S.Provisional Application Ser. No. 61/888,950 filed Oct. 9, 2013, all ofwhich are incorporated in their entirety herein by reference for allpurposes.

TECHNICAL FIELD

Various embodiments of the present technology generally relate to datadelivery. More specifically, some embodiments of the present technologyrelate to systems and methods for using spatial and temporal analysis toassociate data sources with mobile devices.

SUMMARY

Various embodiments of the present technology generally relate to datadelivery. More specifically, some embodiments of the present technologyrelate to systems and methods for using spatial and temporal analysis toassociate data sources with mobile devices. The delivery of data tosupport a wide variety of services for and about mobile devices that arebased on data stored in corporate, commercial, and government databaseswhich is not currently linked to individual mobile devices. Someembodiments allow advertisers to better target their ads to relevanttarget audience with greater accuracy.

Some embodiments use location data records from websites, mobile adnetworks, mobile applications, and/or networks with sensors located inmalls, airports, transportation terminals, hotels, offices, medicaloffices, elevators, etc. This location data can be used to buildlocation profiles that can be linked to residential addresses through aseries of analytical processes. Once a mobile device is associated witha residential address, any database that contains a residential addressas a data element can be associated with the mobile device to buildenhanced services that can be delivered to the mobile device or can beused to provide services that need information on locations andconditions using mobile devices in an area to build that profile.

In various embodiments, the system may also have the ability to groupdevices into “social networks” based on analysis of location dataoverlap for a single location entered into the system, or multiplelocations autonomously identified by the system. These social networkscan be further analyzed using the corresponding data elements in thelinked databases to refine the social networks based on commoncharacteristics found in the data.

Various embodiments may perform one or more of the following functions:

-   -   1. Provide identification of mobile devices to an individual or        household that can be used to provide matching back to any        database that uses an address as a key element to identify the        data.    -   2. Provide identification of mobile devices wherein the system        can be used with any type of unique mobile device identifier        such as UDID, Wi-Fi MAC Address, Bluetooth ID, browser cookies,        or any other persistent or semi-persistent identifier. A        semi-persistent identifier is one that exists for some period of        time before it is changed, which could be a day, week, month, or        more.    -   3. Provide identification of mobile devices wherein the system        can be used with any type of mobile device on a satellite,        cellular, or Wi-Fi network, using any type of service plan        including subscription, corporate, prepaid, etc.    -   4. Provide identification of mobile devices wherein the system        provides cross-matching of various mobile device identifiers to        a single anonymous identifier.    -   5. Provide identification of mobile devices wherein the system        provides anonymization of the data so that privacy is protected        when the data is used for commercial purposes.    -   6. Provide identification of mobile devices wherein the system        can be used with any mobile device data that includes the        following elements: 1) a mobile device identifier and 2)        geo-location tag such as a latitude and longitude pair or other        location coding system. A time/date stamp associated with the        mobile device data is desirable and may or may not be required        for linking devices to a database, but may be required for some        applications and analysis to deliver different services.    -   7. Provide identification of mobile devices wherein the system        works with any mobile device location data and accounts for the        variance in accuracy of mobile location data depending on the        source of the data.    -   8. Provide identification of mobile devices wherein the system        can take both real-time data as well as batch data.    -   9. Provide identification of mobile devices wherein the system        provides for the delivery of linked data to commercial services,        businesses, government, and other customers in three ways—1) in        response to a query about an individual device, or 2) in        response to a query about a location or radius around a        location, or 3) in response to a query about a list or group of        devices.    -   10. Provide identification of mobile devices wherein the system        does not require any subscriber data from a mobile carrier to        link devices back to any database.    -   11. Provide identification of mobile devices wherein the system        does not require any location data from a mobile carrier.    -   12. Provide identification of mobile devices wherein the system        can identify “social networks” of devices with common interests        based on location data, which can be linked back to commercial        databases for analytical purposes.    -   13. Provide identification of mobile devices wherein the system        can identify “social networks” based on a single selected        location input into the system or based on multiple locations        that are generated autonomously by the system analysis.

Embodiments of the present technology also include computer-readablestorage media containing sets of instructions to cause one or moreprocessors to perform the methods, variations of the methods, and otheroperations described herein.

While multiple embodiments are disclosed, still other embodiments of thepresent technology will become apparent to those skilled in the art fromthe following detailed description, which shows and describesillustrative embodiments of the technology. As will be realized, thetechnology is capable of modifications in various aspects, all withoutdeparting from the scope of the present technology. Accordingly, thedrawings and detailed description are to be regarded as illustrative innature and not restrictive.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present technology will be described and explainedthrough the use of the accompanying drawings in which:

FIG. 1 illustrates an example of a networked-based environment in whichsome embodiments of the present technology may be utilized;

FIG. 2 illustrates various components and interactions in accordancewith one or more embodiments of the present technology;

FIG. 3 is a block diagram illustrating various data and partnercomponents in accordance with various embodiments of the presenttechnology;

FIG. 4 is a block diagram illustrating the use of anonymized requests byad network partners to retrieve data from the system in accordance withsome embodiments of the present technology;

FIG. 5 is a flowchart illustrate an exemplary set of operations forassociating mobiles devices with residential addresses in accordancewith one or more embodiments of the present technology;

FIG. 6 illustrates an example of a computer system with which someembodiments of the present technology may be utilized.

The drawings have not necessarily been drawn to scale. For example, thedimensions of some of the elements in the figures may be expanded orreduced to help improve the understanding of the embodiments of thepresent technology. Similarly, some components and/or operations may beseparated into different blocks or combined into a single block for thepurposes of discussion of some of the embodiments of the presenttechnology. Moreover, while the technology is amenable to variousmodifications and alternative forms, specific embodiments have beenshown by way of example in the drawings and are described in detailbelow. The intention, however, is not to limit the technology to theparticular embodiments described. On the contrary, the technology isintended to cover all modifications, equivalents, and alternativesfalling within the scope of the technology as defined by the appendedclaims.

DETAILED DESCRIPTION

Various embodiments of the present technology generally relate to datadelivery. More specifically, some embodiments of the present technologyrelate to systems and methods for using spatial and temporal analysis toassociate data sources with mobile devices. Some embodiments enable thedelivery of data to support a wide variety of services for and aboutmobile devices that are based on data stored in corporate, commercial,and government databases, which is not currently linked to individualmobile devices accurately. One application of this technology is toallow advertisers to better target their ads to relevant target audiencewith greater accuracy. The technology uses location data records frommobile ad networks, mobile applications, and hundreds of networks withsensors located in malls, airports, transportation terminals, hotels,offices, medical offices, elevators, etc. This location data can be usedto build location profiles that can be linked to residential addressesthrough a series of analytical processes.

Once a mobile device is associated with a residential address, anydatabase that contains a residential address as a data element can beassociated with the mobile device to build enhanced services that can bedelivered to the mobile device or can be used to provide services thatneed information on locations and conditions using mobile devices in anarea to build that profile. This information can also be used to build“social networks” identifying individuals with common interests,associations, and social dynamics to provide additional insight into themobile user.

A substantial amount of data on each individual and household is storedin corporate, retailer, government, and marketing databases. This datacan include any type of data collected today—demographic data,psychographic data, behavioral data, purchase data, interest data, crimedata, occupation data, registration data, survey data, medical data andmore. This data can be used for a variety of purposes that includeadvertising, marketing, location studies, public safety, healthcare andmore. There are many technologies for capturing location data frommobile devices and building historical location profiles associated witha device.

The challenge is linking the mobile device to an individual or householdso that the data from these existing databases, which are typicallykeyed by name and address, can be used to provide enhanced services tothe users of mobile devices and expand services for advertisers,businesses, and government leveraging location data from mobile devices.Even where these commercial and government databases have a mobiletelephone number in the database, these are still not easily linked tomobile devices for the delivery of other services. Mobile applicationsand services only have access to device ID keys, mobile data network IDkeys, Wi-Fi network keys, Bluetooth IDs, cookies and software definedpersistent and transient device identifiers that do not exist in thosedatabases.

Identifying the household address associated with a mobile device can bedone by mobile carriers from their billing and provisioning databases,but this information is not made available to other service providersand government agencies. To provide enhanced services, these commercialand government agencies need an alternative solution that can accuratelyidentify a mobile devices household address to link to their data thatdoes not rely on mobile carrier data or databases.

One of the leading trends in marketing is social-based marketing throughthe use of social networks with the intent of reaching like-mindedconsumers based on their common social interests and affiliations.Unfortunately, the ability to reach these audiences is controlled by afew large social networking companies that dictate the way thatadvertisers can reach and interact with these consumers. Mobile devicesprovide tremendous reach for advertisers and being able to reach socialnetworks and interest groups independent of these large socialnetworking companies provides new ways to advertise and interact withthese consumers. It is especially powerful if these social networks andinterest groups can be linked to the commercial and marketing dataassociated with these consumers, allowing richer analytics to beperformed on these groups and enabling predictive modeling to findsimilar types of customers.

The challenge is trying to identify the mobile devices in a social groupor interest group. Mobile advertising networks, mobile apps, and mobilewebsites have billions of records associated with mobile transactionsthat can be mined to create these social networks “graphs” that linkdevices and hence the individuals together. Various embodiments of thepresent technology provide a solution to this challenge.

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of embodiments of the present technology. It will beapparent, however, to one skilled in the art that embodiments of thepresent technology may be practiced without some of these specificdetails.

Moreover, the techniques introduced here can be embodied asspecial-purpose hardware (e.g., circuitry), as programmable circuitryappropriately programmed with software and/or firmware, or as acombination of special-purpose and programmable circuitry. Hence,embodiments may include a machine-readable medium having stored thereoninstructions that may be used to program a computer (or other electronicdevices) to perform a process. The machine-readable medium may include,but is not limited to, optical discs, compact disc read-only memories(CD-ROMs), magneto-optical discs, ROMs, random access memories (RAMs),erasable programmable read-only memories (EPROMs), electrically erasableprogrammable read-only memories (EEPROMs), application-specificintegrated circuits (ASICs), magnetic or optical cards, flash memory, orother type of media/machine-readable medium suitable for storingelectronic instructions.

Terminology

Brief definitions of terms, abbreviations, and phrases used throughoutthis application are given below.

The terms “connected” or “coupled” and related terms are used in anoperational sense and are not necessarily limited to a direct physicalconnection or coupling. Thus, for example, two devices may be coupleddirectly, or via one or more intermediary media or devices. As anotherexample, devices may be coupled in such a way that information can bepassed therebetween, while not sharing any physical connection with oneanother. Based on the disclosure provided herein, one of ordinary skillin the art will appreciate a variety of ways in which connection orcoupling exists in accordance with the aforementioned definition.

The phrases “in some embodiments,” “according to some embodiments,” “inthe embodiments shown,” “in other embodiments,” and the like generallymean the particular feature, structure, or characteristic following thephrase is included in at least one implementation of the presenttechnology, and may be included in more than one implementation. Inaddition, such phrases do not necessarily refer to the same embodimentsor different embodiments.

If the specification states a component or feature “may”, “can”,“could”, or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

The term “module” or “engine” refers broadly to general orspecific-purpose hardware, software, or firmware (or any combinationthereof) components. Modules and engines are typically functionalcomponents that can generate useful data or other output using specifiedinput(s). A module or engine may or may not be self-contained. Dependingupon implementation-specific or other considerations, the modules orengines may be centralized or functionally distributed. An applicationprogram (also called an “application”) may include one or more modulesand/or engines, or a module and/or engine can include one or moreapplication programs.

General Description

FIG. 1 is a block diagram of network-based environment 100 in accordancewith one or more embodiments of the present technology. As illustratedin FIG. 1, user devices 110A-110N may use network 115 to submit andretrieve information from data delivery platform 120. User devices110A-110N can interact with data delivery platform 120 through anapplication programming interface (API) that runs on the nativeoperating system of the device, such as IOS® or ANDROID™. Through datadelivery platform 120, mobile device users can be targeted for thedelivery of customized data by data delivery platform 120 using, forexample, spatial and temporal analysis to associate data sources withmobile devices. Content management platform 125 enables the delivery ofdata stored in database 130 to support a wide variety of services forand about mobile devices that are based on data stored in corporate,commercial, and government databases, which are not currently linked toindividual mobile devices accurately.

For example, data delivery platform 120 can use location data recordsfrom websites, mobile ad networks, mobile applications, and hundreds ofnetworks with sensors located in malls, airports, transportationterminals, hotels, offices, medical offices, elevators, etc. Thislocation data can be used to build location profiles that can be linkedto residential addresses through a series of analytical processes. Usingthis information, a customized profile can be built around the mobiledevice.

User devices 110A-110N can be any computing device capable of receivinguser input as well as transmitting and/or receiving data via the network115. In one embodiment, user devices 110A-110N can be any device havingcomputer functionality, such as a personal digital assistant (PDA),mobile telephone, smartphone, wearable computing device (e.g., includingeyewear, watches, etc.) tablet, or similar device. User devices110A-110N can be configured to communicate via network 115, which maycomprise any combination of local area and/or wide area networks, usingboth wired and wireless communication systems. In one embodiment,network 115 uses standard communications technologies and/or protocols.Thus, network 115 may include links using technologies such as Ethernet,802.11, worldwide interoperability for microwave access (WiMAX), 3G, 4G,CDMA, digital subscriber line (DSL), etc.

Similarly, the networking protocols used on network 115 may includemultiprotocol label switching (MPLS), transmission controlprotocol/Internet protocol (TCP/IP), User Datagram Protocol (UDP),hypertext transport protocol (HTTP), simple mail transfer protocol(SMTP) and file transfer protocol (FTP). Data exchanged over network 115may be represented using technologies and/or formats including hypertextmarkup language (HTML) or extensible markup language (XML). In addition,all or some links can be encrypted using conventional encryptiontechnologies such as secure sockets layer (SSL), transport layersecurity (TLS), and Internet Protocol security (IPsec).

The various components illustrated in FIG. 1 can be coupled to network115 using various types of network communication mechanisms. Thesenetwork communication mechanisms may communicate with other electronicdevices by transmitting and receiving wireless signals using licensed,semi-licensed or unlicensed spectrum over network 115. In some cases,network 115 may be comprised of multiple networks, even multipleheterogeneous networks, such as one or more border networks, voicenetworks, broadband networks, service provider networks, InternetService Provider (ISP) networks, and/or Public Switched TelephoneNetworks (PSTNs), interconnected via gateways operable to facilitatecommunications between and among the various networks. Network 115 canalso include third-party communications networks such as a Global Systemfor Mobile (GSM) mobile communications network, a code/time divisionmultiple access (CDMA/TDMA) mobile communications network, a 3rd or 4thgeneration (3G/4G) mobile communications network (e.g., General PacketRadio Service (GPRS/EGPRS)), Enhanced Data rates for GSM Evolution(EDGE), Universal Mobile Telecommunications System (UMTS), or Long TermEvolution (LTE) network, or other communications networks.

FIG. 2 illustrates various components and interactions in accordancewith one or more embodiments of the present technology. The system mayassociate the data in business, commercial, and government databaseswith mobile device data that comes from a variety of suppliers ofsuppliers that include mobile ad networks, mobile carriers, mobileapplications, businesses, Wi-Fi networks, and any other viable source.The components illustrated in FIG. 2 provide some examples of the meansfor perform various operations described.

In some cases, the system collects mobile device data. This mobiledevice data may include event data such as, but not limited to thefollowing: mobile network call data, mobile data network registrationand usage, mobile device location data, mobile device browsing and webdata, transaction data, mobile application data, social media data,purchase data, login data, device sensor data, credit card data, etc.The mobile device event data can include one or more the followingfields: 1) a device identifier, such as UDID, MAC address, cookie, orany other permanent or semi-permanent identifier; 2) locationinformation, typically in Latitude and Longitude or addresses; 3) atimestamp that includes date and time, in minutes and seconds. Note thatnot all data has to contain a timestamp to provide basic matching. Atimestamp may be used, in some embodiment, to cross-match data sourceswith different device identifiers.

The mobile device event data can be clustered by location, deviceidentifiers, and time of day. These clusters are then evaluated againsthousehold address data. This address data is then used to link themobile device ID with the other databases. As part of this process, thesystem anonymizes the data to provide enhance security for the gatheredand linked data and ensure that Personally Identifiable Information(PII) is not disclosed to anyone. As part of the process, anonymous IDscan be created so that PII is never disclosed when the data is used bythe customer applications.

FIG. 3 is a block diagram which illustrates the use of an independentdata processor to match the output data from the system to the dataprovided by ad network partners. Because PII is used in the matchingprocess, the independent data process is used to prevent either thesystem or the ad network partner from accessing the PII. The outputresult from the data processor is the linked data that matches from bothdata sources.

As illustrated in FIG. 3, the system can collect raw mobile device dataand commercial, corporate, and governmental data on individuals from avariety of partners. This data can be processed by the system in FIG. 2and used to create a System Data Warehouse that contains PII as a key.The system can output the data warehouse into a system file that can betransmitted to other parties, including Independent Data Processors.

Similarly, Partners such as Ad networks also collect customerinformation from customers of partner services (applications, websites,etc.) as well as registered users of these partner services, which cansimilarly be accumulated into the Ad Network Data Warehouse. The AdNetwork Data Warehouse can also use the PII as a key. The Ad NetworkData Warehouse can also be output as a Partner File for transmission toIndependent Data Processors.

The Independent Data Processor takes the System File and Partner Fileand compares the PII keys. The Independent data processor creates anoutput file that contains combined records from the System File and thePartner File only for records with matching PII keys from both files. Insome embodiments, if a record with a PII key is unique to only one ofthe files, it is not included in the output. The merged file is thentransmitted to the Ad Network Partner for use. In various embodiments,the system can ensure that no PII data is shared with either the Systemor the Ad Network Partner for individuals that are not already known tothem.

FIG. 4 is a block diagram illustrating the use of anonymized requests byad network partners to retrieve data from the system in accordance withsome embodiments of the present technology. One advantage of usinganonymized requests, it that this eliminates the need to expose PIIwhile providing real-time access to the system output.

As illustrated in FIG. 4, the system collects raw mobile device data andcommercial, corporate, and governmental data on individuals from avariety of partners. This data is processed by the system in FIG. 2 andused to create a System Data Warehouse that contains PII as a key. Thesystem then processes the System Data Warehouse through an anonymizationprocess that removes or modifies the PII with data that cannot bedirectly linked to the PII. One way of doing this is some sort ofone-way hashing algorithm so that data cannot be converted back to theoriginal PII by anyone, but other methods that include matching tablesused internally to the System to map PII to non-PII data could be used,but are far less secure since the matching tables themselves arepotentially vulnerable. The Anonymized data can be stored, for example,in a real-time accessible System Mobile Data Mart.

When a Publisher Website (or mobile app) makes a request to a Partner AdServer, the Ad Server in turn makes a request to the System Target DataEngine with provides an external interface to the System Data Mart. TheSystem Target Data Engine takes the anonymous key passed in by the AdServer and looks up the data in the System Mobile Data Mart. The datareturned by the System Data Mart is transmitted to the Ad Server, whichin turn uses the data to make decisions on what ad to return to thePublisher.

FIG. 5 is a flowchart illustrating an exemplary set of operations forassociating mobiles devices with residential addresses in accordancewith one or more embodiments of the present technology. The operationsillustrated in FIG. 5 may be performed by various means including, butnot limited to, data analysis platform 120, content management platform125, database 130, one or more servers, one or more processors, networksand networking hardware, various modules or engines (e.g., a receivingmodule, a profiling module, a linking module, an association module,etc.), and/or one or more computing systems such as those described inFIG. 6 below. As illustrated in FIG. 5, location data can be receivedfrom one or more sources during receiving operation 510. Using thisinformation, the building operation 520 can build location profiles thatcan be linked to residential address during linking operation 530.Association operation 540 can then using this information to associatemobile devices with residential addressed.

Data Operational Flow

Various embodiments of the system for linking mobile device data withother databases using spatial and temporal analysis can includes one ormore of the following components and processing algorithms, which can beexecuted on commercially available servers, using real or virtualservers organized into server clusters. In accordance with variousembodiments, the system may perform one or more of the following sevenfunctions:

Function 1: Processing of the Mobile Device/Location Event Data

Mobile device/location event data can be transmitted to the system inbatch file format or in real time via Application Program Interfaces(APIs) provided to the data suppliers. Batch files transferred to thesystem use standard secure File Transfer Protocol (FTP) technology.Real-time transfers are done per event and use Application ProgramInterfaces (APIs) built using the WS02 open-source platforms. The APIsmay be built using JavaScript Object Notation (JSON) and provide a wayfor the partner to transmit data to the platform while requesting data.In some embodiments, the elements transmitted for any mobiledevice/location record via the batch file or AP may contain at aminimum:

Device ID—Possible Device IDs include, but are not limited to:

-   -   Mobile phone #    -   Unique Device Identifier (UDID)    -   International Mobile Equipment Identity (IMEI)    -   Mobile Equipment Identifier (MEID)    -   Electronic Serial Number (ESN)    -   Media Access Control (MAC) address (MAC-48/EUI-48/EUI-64)    -   Bluetooth Address (BD_ADDR)

Date: MMDDYY

Time: HH:MM:SS

Latitude: integer

Longitude: integer

Partner ID: Assigned by E2M for real-time feeds

The mobile event data can be considered PII because it contains a uniqueidentifier for each mobile device. While it can be transmitted to thesystem from the data provider “in the clear”, typically the mechanisminvolves a secured connection and the Mobile Device ID data is encodedusing an agreed upon obfuscation algorithm, such as hashing, prior tosending the data to the system. Once data is received by the system itensures that all Mobile Device IDs are obfuscated prior to being storedin the system databases and used for processing. This obfuscation can beperformed, for example, by the data provider prior to transmission or bythe receiving system using a SHA-1 hashing algorithm, which is a one-wayhash that cannot be reversed back to the original data. Any othercomparable one-way hashing or encoding algorithm could be substitutedfor the SHA-1 algorithm.

The incoming mobile event data is processed through a series of filtersthat organize data in the system by the Mobile Device IDs. The data canbe organized so that it can be processed in different priorities orevaluated differently during subsequent processing. These filters caninclude, but are not limited to, the following:

-   -   Time/date filters—data can be segmented by event dates/times and        timestamps can be normalized to a single time zone or multiple        distinct time zones, even if the data is from systems that store        times using different default time zones. For example, one        filter tags records that occur between 6 pm and 6 am, giving        them a higher priority for the location analysis.    -   Location data cleansing—these filters ensure the location data        is accurate by:        -   Correcting or eliminating records with invalid            latitude/longitude data that has been reversed by the            provider, is missing leading minus signs, or is missing            altogether.        -   Discarding records with default or “blacklisted” locations.            The processing performed while identifying addresses            associated with a mobile device creates a blacklist of            locations that occur frequently from a particular provider            (ad network or publisher) that are not valid locations for            the device.        -   Adjusting the accuracy resolution of the data across sources            for processing based on the source. Depending on the data            source we may round the latitude/longitude data to a            specific number of decimal places to normalize the            resolution across different data sources or weight the data            points based on the accuracy associated with the source.            This weighting could be applied based on the source or other            information contained in the data provided, or could be            defined in the system for each source or each data point            individually. Note that this process may also be applied to            previously processed or stored location data to continuously            improve the quality of results in the system.        -   Discarding location data associated with devices that have            been marked by the system as inactive or deleted. The system            may use a number of methods such as analyzing the time since            the last data point reported for a device, mobile carrier            registration data, or other means to identify a particular            device as no longer in use. Once a device is marked, filters            can be used when processing historical location data to            eliminate data points from these devices from processing.    -   Mobile device ID filters—these filters evaluate the mobile        device IDs passed to the system to check against existing IDs,        as well as identifying what other mobile device IDs may be        associated with the same device.

Once the mobile event data has been processed through the filters andstored in the database it is ready for location analysis. Locationanalysis is the process by which the system analyzes all of the filteredmobile event location data associated with an individual device toidentify the locations most frequently associated with the mobiledevice. This processing uses a Density-Based Scan algorithm to groupthese data points and find the central location of these groups of datapoints. Note that any other type of grouping algorithm could beemployed.

The Density-Based Scan can consider each mobile/location recordlatitude/longitude pair as a single point for clustering analysis.Clustering is performed for each Device ID using various algorithms. Thealgorithms may use the following two parameters:

-   -   Eps (e): Maximum radius of the neighborhood points. Current        embodiments use 30 feet, but are able to adjust settings to        balance accuracy vs. processing time.    -   MinPts: Minimum number of points in an Eps-neighborhood        (specified radius). Current embodiments use 10 for this value,        but other settings may be used to balance accuracy vs.        processing time.

The algorithm may identify clusters of points that meet the densityrequirement of the MinPts within the Eps. Each data point can then becategorized. Some embodiments use the following categories:

-   -   A core point is one that has more than a specified number of        points (MinPts) within Eps. These are points that are at the        interior of a cluster.    -   A border point has fewer than MinPts within Eps, but is in the        neighborhood (within the Eps) of a core point.    -   A noise point is any point that is not a core point or a border        point. These points are ignored

The cluster algorithm of one or more embodiments can work by:

-   -   Arbitrarily selecting a point p.    -   Retrieving all points density-reachable from p w.r.t. Eps and        MinPts.    -   If p is a core point, a cluster is formed.    -   If p is a border point, no points are density-reachable from p        and DBSCAN visits the next point of the database.    -   Continuing the process until all of the points have been        processed

The result of cluster processing may be a list that contains the corepoint locations and number of data points associated with the location.These locations can then be ordered from highest to lowest frequencybased on the number of data points associated with the location. Thelocation generated is a geo-location coordinate using latitude andlongitude, although any location reference system could be used.

Function 2. Identifying Street Addresses Associated with Each MobileDevice

Once the mobile event data has been processed and the resulting list oflocations is generated for each device, these locations can be used inone of two ways to associate with data sources: 1) the locationidentifier, e.g., latitude/longitude, associated with the pair can becompared with location identifiers stored with the data sources. If thedata source uses a street address and does not include a locationidentifier, then as part of the input data processing for these sourcesthe system will generate a location identifier that can be used forcomparison. 2) The second method is to convert the locations generatedfor each device to street addresses (e.g., 123 Main Street, Anytown,Colo., 80301) using commercially available reverse geocoding services ordatabases. This processing seeks to identify two primary addresses foreach device:

-   -   A residential address: The residential address is essential for        linking the mobile device to the commercial, business, and        government databases that use residential address as a key        field. The residential address match will potentially match many        devices to the same residential address, even if the address is        a single family home, since there are multiple devices and        multiple individuals in the household. This is considered a        “household” level match for returning data from the databases.        One anomaly with this is multi-family residences, such as        apartment buildings. Because the geolocation data being used        cannot distinguish apartment numbers or floor differences,        multiple households will have the same address for the        multi-family residences.    -   A “commercial” address: This could be a business, school,        retail, or other commercial address. Because the residential        address matches at the household level for a single-family home,        the daytime address is essential for identifying an individual        with a single-family residence, or a household or individual        within a multi-family residential unit. The daytime address is        compared with additional databases that include        Point-of-Interest data, business directories, and other data        sources that can be used to identify commercial and public        entities at a location.

The quality of the address returned by the commercial reverse geocodingservices varies widely, trying to return the closest street address tothe geocode passed in. These addresses are then compared with theaddresses used as keys in the commercial databases that contain theprofile information. In some embodiments, the system analyzes thereturned address against the commercial databases and categorizes itinto one of the following categories:

-   -   Exact Match Addresses—addresses that are found in the commercial        databases    -   Exact Match with city Aliases—addresses that are found in the        commercial databases when a city alias is used. Some cities have        a different name in their postal address from the geocode        address.    -   Not Exact Match: But Very near to address—addresses where the        street number does not match exactly but can be matched to a        street number within +/−N house numbers of the address (where N        can be defined in the system).    -   Not Exact Match: But very near to address with city aliases:        addresses where the street number does not match exactly but can        be matched to a street number within +/−N house numbers of the        address when a city alias is used (where N can be defined in the        system).    -   Not Exact Match: But slightly far from address—addresses where        the street number does not match exactly but can be matched to a        street number between N and M house numbers from the address        (where N and M can be defined in the system).    -   Not Exact Match: But slightly far from address with city        aliases—addresses where the street number does not match exactly        but can be matched to a street number between N and M house        numbers of the address when a city alias is used (where N and M        can be defined in the system).    -   Not Exact Match: But very far from address—addresses where the        street number does not match exactly but can be matched to a        street number outside +/−M house numbers of the address (where M        can be defined in the system).    -   Not Exact Match: But very far from address with city        aliases—addresses where the street number does not match exactly        but can be matched to a street number outside +/−M house numbers        of the address when a city alias is used (where N can be defined        in the system).    -   Cannot match address—unable to meet any match criteria    -   Cannot match address even after aliases—unable to meet any match        criteria even with a city alias is used.    -   Addresses that are not able to be matched    -   Cannot match address: No Lat/Long or Dummy Lat/Long—no address        can even be returned by the reverse geo-coder

These categories can be used to rate the quality of the match returnedand improve the quality of the data being provided. These categories canalso be used to rate the quality of location data points created fromstreet addresses when creating location data points from streetaddresses for commercial data sources in the system.

Function 3. Linking Mobile Device ID to Data Sources at the Householdand Individual Level

Once the residential address associated with a device has beenidentified, it can be linked to data provided in any database that usesthis as a key element. These data bases can be commercial, business,marketing, government, law enforcement, healthcare or any other databasecontaining household or individual information.

Matching devices with this household and individual data using theresidential address will result in a one-to-one match for householdswith only one person, or a many-to-many match for households withmultiple individuals—at a multiple individual household there will bemany devices associated with the address that need to be matched to theindividuals in the household. For a multi-family unit, such as anapartment building, there will be multiple devices matched to theaddress that must then be first matched with a specific household in theresidence and then in turn to the individuals within the specifichousehold. While it is useful to make a device match at the householdlevel, it is even more desirable to be able to identify the devicesassociated with a single individual within a household, or to identifyhouseholds within a multi-family residential unit.

To match devices to individuals within a household or multi-familyresidence an analysis of the non-residential location clustersassociated with each device ID can be used. The easiest is theidentification of individuals within a household. The system usesexternal data sources that provide data for each individual in ahousehold that may be used to correlate with the characteristics of alocation cluster. These data sources can be marketing data providers,online databases such as LinkedIn and Hoover's. Point of Interestdatabases, or other databases that contain information relevant to alocation that can be associated with the location cluster that may beuseful in comparing with known data on the individual, such asinterests, hobbies, recreational activities, purchases, etc.

By comparing the data associated with the non-residential locationsgenerated for each device with the known data for an individual ispossible to uniquely identify the individual associated with a device.Similarly, age information can compared with location records thatcorrespond with schools to uniquely identify other family members.Throughout this process, devices can be associated with the individualmembers of a household, and by virtue of elimination can potentially belinked to individuals where a direct data match is not achieved. Theidentification of individuals is particularly important for servicesthat are prohibited from measuring, tracking, analyzing, or servingchildren.

The identification of individuals within a multi-family residentialaddress is performed in a similar manner with one enhancement.Additional processing is performed first to identify the devicesassociated with each household in a multi-family residence. Thisprocessing uses overlap analysis of the data for each mobile device todetermine which devices have a large number of locations in common,indicating the individuals for these devices are frequently together asmembers of a household are. Once devices are identified with households,the same processing used to identify individuals within households canbe performed to identify individuals.

Function 4. Linking Mobile Device IDs Without Residential Location Data

Some sources of mobile event data provide data that comes only fromcommercial or public locations and does not include any residentiallocations after processing. In order to match the mobile device IDsassociated with this “non-residential” data (NR data) back to theresidential-based data sources, the data can be linked to other IDs thatare already linked to those data sources.

This process can use an overlap analysis of the event location andtimestamp data from the NR data against the event location and timestampdata from the linked sources. In some embodiments, this analysis canbuild probable matches based on number of overlapping occurrences, andalso allows variation in timing of events from the different sources,since finding exact matches is rare.

Some embodiments of the overlap analysis can include the followingsteps:

-   -   1) Each record from the NR data is compared by location against        the location records from data sources that include residential        data.    -   2) For records with locations that match, the timestamps are        compared to the timestamp of the NR record (t) to find records        within a specific variance, N. Records that are within the        window of t−N to t+N are considered probable matches for the        device.    -   3) A count can be created by device ID from the residential data        sources that are probable matches for the device ID from the NR        data. These counts are then ordered from largest to smallest,        with the largest representing the most probable match between        the two data sets.    -   4) The residential data source device IDs for the probable        matches are then compared against the probable matches for all        other NR data devices to determine if multiple NR device IDs are        probable matches for the same residential data device ID. If        more than one device is a probable match, they are ordered by        the highest number of matches.

This process is repeated with existing NR data using differentparameters or as new NR data is acquired and as new residential data isacquired to improve the results and obtain the highest quality matchespossible. Once a match is obtained, all of the household and individualdata that was linked to the residential data device ID can now be linkedto the NR data device ID also.

This process can be performed for any device data that does not includeresidential locations, such as public Wi-Fi data, Blue-tooth data,Digital-Out-of-Home sensor data, in-store sensor data, etc.

Function 5. Identifying “Social Network” Groups

Unique groupings of devices can be created through additional locationand data analysis. These “social networks” identified can be sold asunique audiences that are used to reach socially connected groupswithout having to rely on traditional social network sites such asFacebook to provide the data. The additional value of the groups createdby the system analysis is that these are real-life groups that socializein person, not just online groups that may be virtual only.

Various embodiments may use various methods for identifying socialnetwork groups: 1) for a specific input location or location/date/time,or 2) autonomous multi-location based groups. Each type of group hasdifferent benefits to advertisers. Specific location-based groups tendto be larger groups that identify macro audiences, such as audiencesthat show interest in a particular kind of sporting event,entertainment, or type of retail category. Multi-location groups aresmaller groups that exhibit more interest characteristics in common,providing a more focused audience.

In accordance with some embodiments, the processing to identify a socialnetwork group from a set of mobile device location or event data caninclude the following steps:

-   -   1) Processing the data as described in “Function 1” of the “Data        Operational Flow” above, with the following modification.        Instead of grouping data by device prior to performing the        clustering algorithm, the data source can be grouped by discrete        date and time segments, e.g. October 5 from 12:00 pm to 12:15        pm, and is then run through the clustering algorithm. This        generates clusters based on locations, with multiple devices per        cluster. This is done for multiple date/time segments.    -   2) Using an algorithm to compare the devices present in one        cluster from one date/time segment with the devices present in        the clusters of other date/time segments and identifying which        devices occur together in many different clusters across        different date/time segments.    -   3) Using an algorithm to score the quality of the probable        association between devices identified in 2) above, and    -   4) Create a database identifying the “social group” of devices        with a unique identifier for each group.    -   5) A list of devices that contain location records is created by        the system and given a unique group ID for future reference.

The processing to identify a social network group by the systemautonomously is a bit more involved due to the amount of data that mustbe processed. The steps to create the social network group autonomously,in accordance with one or more embodiments, can include:

-   -   1) System sorts and segments all the location records in the        system by date and time blocks within each date. Time blocks can        be specified in N minute increments. For example, a time block        of 15 minutes (N=15) would group all records from a specific        date into separate groups for times 00:00 to 00:14, 00:15 to        00:29, 00:30 to 00:44, etc. for the entire 24 hour period.    -   2) The location coordinates in each time block are grouped using        the same type of clustering algorithm described in Function 1        above. The resulting groups are by location and include all        devices, and will result in multiple groups being created for        each time block. These groups are given interim group        identifiers, e.g., T1G1, for time block 1, group 1.    -   3) The system can then create a table with rows that represent        an individual device ID and columns that represent group        identifiers. If a device is present in a group, the        corresponding cell may be marked with an indicator (1, true,        etc.). If a device is not present in a group the cell may be        left empty.    -   4) The system can then analyzes a device at a time against all        other following devices doing a row by row comparison. If        another device has at least Z location group overlaps (where        both devices have a “1” in the location group), where Z is        entered by the operator and variable, then the two devices are        put into a new table that is keyed by Social Group ID (SG0, SG1,        SG2, etc.), with a list of devices associated with each social        group. Each time a device is added to a new social group, a        counter is updated in the device list.    -   5) The system repeats the process with the next device, but only        compares against subsequent devices, not those previously        analyzed.    -   6) Once all devices have been analyzed, there will be a large        table of social groups identified by the system. A single device        may be in zero, one, or more of the social groups identified.    -   7) The counters from the device list can be used to identify and        rank social influencers based on their reach (most groups to        fewest groups).    -   8) The social group table can also be processed in a        relationship graph format to identify relationships between        groups.

The system can also augment the social networks by overlaying the datafrom the linked databases to provide characterization of the socialgroups as well as further segment them by these criteria to createsubgroups. This process can be repeated using different time segmentsand/or new or modified data to improve results, identify changes, andincrease the confidence level of the quality of the social groupsidentified.

Function 6. Delivering Data to Applications

Once the mobile devices have been linked to households and individualswithin the various databases, it can be delivered to consumerapplications for a variety of commercial, public safety, and other uses.Consumer in this case specifies any mobile, web-based, or other type ofapplication that uses the data to provide a service based on that data.The first implementation supports ad targeting for mobile ad networks bydelivering interest data to those networks, but can be used for anyapplication that is based on using mobile devices or locationinformation.

The service can provide real-time or historical information fromdatabases to the consumer application. These applications can receivethe data from the system as a file transfer or a web-based synchronousor asynchronous service based on JSON or other similar protocols. Thetwo primary modes of providing data to the consumer application are: 1)device specific requests and 2) location requests.

A device specific request is designed to return household or individualinformation associated with a specific device. For this service theconsumer application passes the system a mobile device ID, properlyencrypted or obfuscated, and the service returns a set of anonymizeddata associated with that device ID.

A location request can take two forms, but in each the consumerapplication passes in a location, usually in latitude/longitude format,that it is requesting information from the system. The first type oflocation request generates a combined response for all mobile devicesthat are within a certain radius of the location. The second generatesan individual level response for all the devices within a certain radiusof the location. For both types of requests, the system uses real-timemobile event data to identify the mobile device IDs near the requestedlocation.

The combined response request builds an aggregated view of all thedevices. This is often used for marketing type of services, where theyare looking for the characteristics of the group. In this response thesystem combines the data for each data field to be returned and providesa weighed percentage of the values in each data field. For example ifone of the data fields was “male”, and there were 10 devices identifiednear the location with 3 that linked to data that marked the field as“yes”, then the system would return a response to the consumerapplication that tells it how many total devices, and that “male” is30%.

The individual response request can build an array of all the data byindividual device and passes this back to the consumer application. Thisallows the consumer application to look at each individual's dataseparately. It is important to note that the system may or may notreturn the encoded device ID as part of this service.

Targeting Data for Partner Use

The system does not serve advertisements. In order to provision the datafor online advertising use and deliver targeted offers to consumers thesystem shares aggregated Buyer Audience Data, i.e. Furniture Buyers,with selected Ad Serving, Publishing or Ad Network partners as describedbelow. There are 4 ways this can be done.

Option 1: Provisioning of Audience Level Data at Ad Network via PIIMatch

The system provides data to an Independent Data Processor to be thethird party partner to perform a Personally Identifiable Information(PII) based database match with other NAI Members. Typically, some orall of the following fields are used for matching—Mobile number, DeviceID, MAC address, name, address.

The process for matching the data according to some embodiments issummarized in the following steps, and is shown in FIG. 4:

-   -   System creates data file(s) that includes name, address, phone        number, UDID, or MAC address or other identifiers to be used for        matching audience and transmits to Data Processor over a secure        channel.    -   System also provides Buyer Audience attributes, i.e. Furniture        Buyer, in the data file which will ultimately be used by E2M's        Partner for targeting.    -   The System file is sent to a Data Processor and is compared        against the Partner file to identify matching records for        output.    -   The output file referred to as System Match Set is constructed        to include Partner's record identifier (ANONYMOUS-ID) and the        System's target attributes.    -   No Personal Identifiable Information (PII) is included in the        output file from Data Processor to Partner.

During the match, the Independent Data Processor appends SystemBuyer_Audience level information to Partner's file where there is a PIImatch. After the match occurs all non-matching information can bediscarded.

Match Output: System Match Set is transmitted from Data Processor toPartner's Data Store where it will be provisioned for digitaladvertising.

Partner Targeting Process:

-   -   Data Processor transmits the output of the match process—the        System Match Set to Partner over a secure channel. Partner then        performs the following steps for preparing the data for        targeting:    -   Partner normalizes the System Buyer Audience data and stores the        data in their DB    -   Anonymization of User Profiles    -   Provisions the online ad delivery system with the System        targeting data    -   Begins Campaign Delivery

Partner Anonymization of User Profiles:

Partner ad delivery is done based on anonymous ids and not on personallyidentifiable information such as UDID or any id associated withpersonally identifiable information. In order to be able to use theabove match set for targeting purposes on Partner network, a forwardhashing technique transforming PII-ID's into ANONYMOUS-ID's occurs.

Note:

Data keyed off ANONYMOUS-IDs and PII-IDs are kept in separateoperational environments and do not co-locate by policy.

There are no lookup tables to correlate ANONYMOUS-IDs and PII-IDs

Translation from PII-ID to ANONYMOUS-ID is one way.

These anonymous profiles are then moved into a User Profile Store to beprovisioned for Ad Delivery.

Partner Provisioning Ad Delivery Service

As described before, each user active on the Partner network may have atleast one Partner anonymous identifiers (ANONYMOUS-IDs) associated withthem. Partner ad delivery system can delivers ads based off thisidentifier ANONYMOUS-ID. Whenever a user is on a Partner network, the addelivery request from the browser request will be associated with theuser ANONYMOUS-ID. That browser request can be fulfilled by Partner.

Ads using System data are delivered when the ad delivery system sees auser with defined System Attribute 1 set specified for that particularcampaign.

Option 2: Real-Time Provisioning of Audience Level Data For Ad Serversand Ad Networks

The System can integrate with partner Ad Servers and Ad Networks suchthat at the time a request is made within their Ad Serving platform toGet_Offer, i.e., display an advertisement, the Ad Serving platform willmake a request of the System Target Data Engine. During this call toSystem's Recommendation Engine, the Ad Server supplies System with amobile device identifier, such as a hashed UDID or a location. Thesystem can then return the audience data that is relevant for thisdevice or location. The Ad Server will then use the audience dataprovided by System to select an ad to display. This is shown in FIG. 4.

In accordance with some embodiments, the Get_Audience request may have aformat that includes:

-   -   PID: Partner ID Assigned by System to identify the source of the        request    -   RT: Location (1) or Device (0). Default is device.    -   DID: An identifier that is a SHA-1 hashed mobile number, Device        ID (UDID, IMEI, MEID, ESN), MAC address, or cookie ID that will        be used by E2M to retrieve the audience data for a Device        request. If this is a location request this field should be used        as a Partner-generated tracking ID for the request/response.    -   LLAT: The latitude of the location collected from the device for        a Device request (if available) or the latitude of the location        that an aggregate audience is being requested for.    -   LLON: The longitude of the location collected from the device        for a Device request (if available) or the longitude of the        location that an aggregate audience is being requested for.

The request tag is a fully qualified URL, with a set of queryingparameters:

-   -   URL Syntax:    -   http://on.spot.extendtomobile.com/onspot.js?PID=<PartnerID>&RT=<Value>&DID=<Hashed_ID_VALUE>&LLAT=<Latitude>&LLON=<Longitude>

The Audience_Data response tag will have a different format for a devicevs. location request. Either type of response can be one of these 3types: script, image, or i-frame. Each partner will provide System withthe required format/syntax for their response tag.

Device request response. The device request response will simply returnthe targeting information for the hashed device ID sent in the requestalong with the audience categories that the device belongs to. Anexample of a response would be:

-   -   http://www.ThePartner.com?DID=<Hashed_ID_Value>&id=D045&id=C00        1&id=C004

This response above returns three audience segments for the device IDrequested, and the ad network can now select an ad based on this.

Location request response. A location request response can return thetargeting data for an aggregated audience at a specific location. Forexample, if System finds 100 people near the location coordinates passedin the request, it will identify that 10 are in D045, 1 is in C001, and25 are in C004 audiences. The response would look something like:

-   -   http://www.ThePartner.com?DID=<Partner_Tracking_ID>&tot=100&id=CO        O4&cnt=25&id=D045&cnt=10&id=C001&cnt=1

This provides the partner with the total audience size and the audiencesize by category, so they can decide on quantity vs. quality for theirad decision.

Specific items of the Response Tag can be customized in accordance withvarious embodiments by:

-   -   Delimiter: The partner can indicate a single character to use to        delimit the segment between elements. The most common is “&”    -   Suffix: The partner can include additional static information        that will be appended to the Response Tag, which can be        additional name/value elements.    -   Type: The partner can specify a script, image, or i-frame tag.

Option 3: Automatic Provisioning of Audience Level Data For Ad Serversand Ad Networks

The system can integrate with our partner Ad Servers and Ad Networkssuch that we send them targeting data for every known Audience member inthe System database. This can be transmitted periodically using the sametype of response format as in Option 2 or as a file transfer usingsecure FTP.

Custom Audiences: Reducing ad server processing

The previous discussion centered on transmitting System standardaudiences to the partner. System can also build and provision customaudiences for a partner. For example, if an advertiser wants to showtheir ad to Hispanic Furniture buyers with income between $100,000 and$150,000. These traits correspond to the System's standard audiencesD047 (Hispanic), D104 (Income 100-150), and C001 (Furniture). System canrun an offline process to build a custom audience—P1001 that has all ofthese traits already analyzed, so that when the System reports back tothe ad server in its response the ad server would just have to look atP1001 to see if it should show that advertiser's ad rather than tryingto cross-check all the criteria in real time, especially if there is alarge amount of selection criteria.

To do this the ad network would have to notify System of the ad campaignin advance and provide the advertiser's criteria so that the Systemcould provision the audience. Goal for time to provision is <1 businessday from receipt of the partner request.

Function 7. Interactive Tools for Querying the Datamart.

To provide additional value to customers a number of interactivereporting tools can be made available via a website, mobile device,computer, or other platform. These reporting tools include, but are notlimited to:

-   -   1. Audience count tool: The system can provide a real-time        interface where a user can select criteria from the data        available in the database and get a real-time count of the        number of devices in the database that match the criteria. This        basic information enables sales teams or advertisers to        interactively estimate audience sizes for ad campaigns, in        addition to can other potential uses for this type of count        data. By augmenting the basic count data with other data such as        number of ad requests that a device makes each day on a        particular ad network it is possible to build more comprehensive        models of the number of ad impressions that are possible on a        particular ad network and compare effectiveness and reach of        different ad networks.    -   2. Location device count and profile: A user can enter a        location, e.g., street address or latitude/longitude, and get a        report of the number of devices that have been seen at that        location, or in real-time how many are currently at that        location. The user can select criteria to get reports that break        information down by different date/day/time periods and create        statistical profile reports based on information stored in the        data mart in the system.    -   3. Location-based audiences: The system can provide an interface        for a user to enter a location or set of locations and tag them        with a set of data characteristics that can be used in queries        against the data mart to identify devices with specific        criteria. For instance, a user might enter a set of locations        and identify them with the following data characteristics:        “Jewelry Store”, “High End” or “Mall”. This data could come from        Point of Interest databases, governmental databases such as a        chamber of commerce database, retailer database, or any other        commercial or private database, or be entered manually.    -   Once the new data characteristics are stored in the system, a        user could enter a query to “find all devices that have visited        a high end jewelry store in the last 14 days”. The system would        be able to identify all devices that have been at these        locations, and build a profile report on the characteristics of        the individuals/households associated with those devices. In        addition, the system could take the results and build a list of        devices that could be targeted as an “in-market” audience.    -   Note that these types of audiences could be built in real-time        by setting a trap query so that every time the system receives        and processes mobile device location data, any device that        matches one of the locations in the trap query would        automatically be added to the audience. This audience could them        be made available to users via the methods in Function 6 above.    -   4. Location-based profiles: Reports can be generated for        retailers or others seeking information about the individuals        that visit or are near a physical location. For instance, a        retailer may want to know who passes by their store each day,        whether they come in or not. The system can provide an interface        to enter a street location or latitude/longitude, in addition to        time segments (day/date/time) and provide a profile report based        on the devices that meet this criteria. This information can be        used to build devices lists for mobile ad campaigns, or to        perform analysis on origin and movement behavior of the devices.

INDUSTRIAL APPLICABILITY

The data from multiple mobile event data sources results in rapidlybuilding a very large set of mobile device IDs that can be linked backto a myriad of data sources. While most applicable to smartphones andtablet devices that are large consumers of mobile data services today,it will eventually encompass the entire mobile device population asconsumers adopt these devices over the next few years.

By providing information on the individuals associated with the mobiledevice, the system enables a number of different solutions to be builtthat include, but are not limited to:

-   -   Intelligent solutions—access to data enables applications and        services to customize the service delivery or user experience        based on the data provided. This can a financial application        offering different financial solutions to a potential customer        based on age, income, and investment information, or a mobile ad        network delivering a different ad based on an individual's        shopping interest or brand preference.    -   Analytic solutions—these solutions provide composite views of        the population at a given area at different times. Think of        retailers planning new store locations wanting to understand the        people that come to a particular shopping center or street. Or        city planners that want to understand the commuting patterns for        a particular area by looking at different times of the day.    -   Situational awareness solutions—these solutions provide        real-time views and information for public safety, homeland        security, first responders, etc. Examples include being able to        identify the probable number of people at an incident location,        with information on age, health conditions, criminal background,        etc.

These are just a few of the applications, because every business andgovernment agency has a wealth of data that they use today and wouldlike to associate with mobile devices and users to expand their utility.

-   -   1. The system can provide identification of mobile devices to an        individual or household that can be used to provide matching        back to any database that uses an address as a key element to        identify the data.    -   2. The system can provide identification of mobile devices        wherein the system can be used with any type of mobile device        identifier such as UDID, Wi-Fi MAC Address, Bluetooth ID,        browser cookies, or any other persistent or semi-persistent        identifier. A semi-persistent identifier is one that exists for        some period of time before it is changed, which could be a day,        week, month, or more.    -   3. The system can provide identification of mobile devices        wherein the system can be used with any type of mobile device on        a cellular or Wi-Fi network, using any type of service plan        including subscription, corporate, prepaid, etc.    -   4. The system can provide identification of mobile devices with        cross-matching of various mobile device identifiers to a single        anonymous identifier.    -   5. The system can provide identification of mobile devices with        anonymization of the data so that privacy is protected when the        data is used for commercial purposes.    -   6. The system can provide identification of mobile devices which        can be used with any mobile device data that includes the        following elements: 1) a mobile device identifier and 2)        geo-location tag. A time/date stamp associated with the mobile        device data is desirable and may or may not be required for        linking devices to a database, but is required for some        applications and analysis to deliver different services.    -   7. The system can provide identification of mobile devices which        works with any mobile device location data and accounts for the        variance in accuracy of mobile location data depending on the        source of the data.    -   8. The system can provide identification of mobile devices which        can take both real-time data as well as batch data.    -   9. The system can provide identification of mobile devices which        the system provides for the delivery of linked data to        commercial services, businesses, government, and other customers        in two ways—1) in response to a query about an individual        device, or 2) in response to a query about a location.    -   10. The system can provide identification of mobile devices        which does not require any subscriber data from a mobile carrier        to link devices back to any database.    -   11. The system can provide identification of mobile devices        which does not require any location data from a mobile carrier.    -   12. The system can provide identification of mobile devices        which can identify “social networks” of devices with common        interests based on location data, which can be linked back to        commercial databases for analytical purposes.    -   13. The system can provide identification of mobile devices        which can identify “social networks” based on a single selected        location input into the system or based on multiple locations        that are generated autonomously by the system analysis.

Exemplary Computer System Overview

Embodiments of the present technology include various steps andoperations, which have been described above. A variety of these stepsand operations may be performed by hardware components or may beembodied in machine-executable instructions, which may be used to causea general-purpose or special-purpose processor programmed with theinstructions to perform the steps. Alternatively, the steps may beperformed by a combination of hardware, software, and/or firmware. Assuch, FIG. 6 is an example of a computer system 600 with whichembodiments of the present technology may be utilized. Computer system600 is an example of a means for implementing the functionality andperforming several of the operations described above. According to thepresent example, the computer system includes a bus 610, at least oneprocessor 620, at least one communication port 630, a main memory 640, aremovable storage media 650, a read only memory 660, and a mass storage670.

Processor(s) 620 can be any known processor, such as, but not limitedto, Intel® lines of processors; AMD® lines of processors; or Motorola®lines of processors. Communication port(s) 630 can be any of an RS-232port for use with a modem-based dialup connection, a 60/100 Ethernetport, or a Gigabit port using copper or fiber. Communication port(s) 630may be chosen depending on a network such as a Local Area Network (LAN),Wide Area Network (WAN), or any network to which the computer system 600connects.

Main memory 640 can be Random Access Memory (RAM) or any other dynamicstorage device(s) commonly known in the art. Read only memory 660 can beany static storage device(s) such as Programmable Read Only Memory(PROM) chips for storing static information such as instructions forprocessor 620.

Mass storage 670 can be used to store information and instructions. Forexample, hard disks such as the Adaptec® family of SCSI drives, anoptical disc, an array of disks such as RAID, such as the Adaptec familyof RAID drives, or any other mass storage devices may be used.

Bus 610 communicatively couples processor(s) 620 with the other memory,storage and communication blocks. Bus 610 can be a PCI/PCI-X or SCSIbased system bus depending on the storage devices used.

Removable storage media 650 can be any kind of external hard-drives,floppy drives, solid state storage drives, cloud storage systems,IOMEGA® Zip Drives, Compact Disc—Read Only Memory (CD-ROM), CompactDisc—Re-Writable (CD-RW), and/or Digital Video Disk—Read Only Memory(DVD-ROM).

The components described above are meant to exemplify some types ofpossibilities. In no way should the aforementioned examples limit thescope of the technology, as they are only exemplary embodiments.

Embodiments of the present technology may be implemented using acombination of one or more modules or engines. For example, embodimentsprovide for a graphical user interface generation module to generationone or more graphical user interface screens to conveyresults/information and take instructions, a general-purpose orspecial-purpose “communications module” for interfacing with variouscomponents and databases, a “data gathering module” to collectinformation from various sources, an “anonymization module” to anonymizedata, a “rating module” to rate the quality of a residential match, a“linking module” to link an address to a mobile device, “social graphmodule” to group devices based on one or more spatial and temporalanalyzes, a “reporting module” to generate device and location reports,as well as other modules and engines for providing various functionalityneeded by embodiments of the present technology. Still yet, variousembodiments may incorporate two or more of these modules into a singlemodule and/or associate a portion of the functionality of one or more ofthese modules with a different module. Each of these modules and enginesprovides examples of the means for implementing functionality andperforming operations described herein.

Various modifications and additions can be made to the embodimentsdiscussed without departing from the scope of the present technology.For example, while the embodiments described above refer to particularfeatures, the scope of this technology also includes embodiments havingdifferent combinations of features and embodiments that do not includeall of the described features. Accordingly, the scope of the presenttechnology is intended to embrace all such alternatives, modifications,and variations and all equivalents thereof.

What is claimed is:
 1. A method of tracking mobile devices associatedwith addresses, the method comprising: generating a device group profileincluding a physical address, and a set of mobile devices associatedwith the physical address based on location data generated by the set ofmobile devices wherein the location data is subjected to a frequencyanalysis to determine the physical address, wherein the physical addressis generated by: organizing the location data into a plurality ofclusters, the clusters corresponding to geographic regions visited byeach respective mobile device of the set of mobile devices during a timeperiod; and calculating a score for each cluster, the score representinga likelihood that the respective user of each respective mobile deviceresides at the address within the cluster during the time period whereinthe physical address corresponds to the cluster having the highestscore; delivering an advertisement to a member of the device groupprofile via any of: the physical address; a first device of the set ofmobile devices; or social networks associated with any of the set ofmobile devices; detecting a second mobile device at a business locationassociated with the advertisement; and in response to said detecting thesecond mobile device at the business location, determining whether thesecond mobile device belongs to the set of mobile devices of the devicegroup profile, wherein the member of the device group profile hadpreviously received the advertisement for that business location.
 2. Themethod of claim 1, wherein said detection of the second mobile deviceoccurs during a scheduled event, and the business location an eventvenue.
 3. The method of claim 1, the business location that isassociated with the advertisement is a location of a network serverwherein overflow web traffic of an event venue is directed.
 4. Themethod of claim 1, wherein the location data is obtained using atechnique selected from the group consisting of global positioning witha global positioning system, cellular triangulation, and/or WiFiidentification.
 5. The method of claim 1, wherein the location data isreceived from mobile devices that access a first server at a firstlocation.
 6. The method of claim 5, wherein said generating isautomatically initiated in response to each mobile device accessing thefirst server.
 7. A system of tracking mobile devices associated withaddresses, the method comprising: A processor; A memory includinginstructions that when executed cause the processor to: generate adevice group profile including a physical address, and a set of mobiledevices associated with the physical address based on location datagenerated by the set of mobile devices wherein the location data issubjected to a frequency analysis to determine the physical address,wherein the physical address is generated by: organize the location datainto a plurality of clusters, the clusters corresponding to geographicregions visited by each respective mobile device of the set of mobiledevices during a time period; and calculate a score for each cluster,the score representing a likelihood that the respective user of eachrespective mobile device resides at the address within the clusterduring the time period wherein the physical address corresponds to thecluster having the highest score; deliver an advertisement to a memberof the device group profile via any of: the physical address; a firstdevice of the set of mobile devices; or social networks associated withany of the set of mobile devices; detect a second mobile device at abusiness location associated with the advertisement after saiddelivering; and in response to said detection of the second mobiledevice at the business location, determine whether the second mobiledevice belong to the set of mobile devices of the device group profile,wherein the member of the device group profile had previously receivedthe advertisement for that business location.
 8. The system of claim 7,wherein said detection of the second mobile device occurs during ascheduled event, and the business location an event venue.
 9. The methodof claim 7, the business location that is associated with theadvertisement is a location of a network server wherein overflow webtraffic of an event venue is directed.